/// 设备指令工具类
///
/// @author yz
/// @date 2021-09-27
class DeviceOrderUtils {
  /// 根据自定义指令获取真正的设备 order（设置指令）
  ///
  /// @param order 自定义指令
  /// @return 真正的设备 order
  static String? getOrderOf(String order) {
    switch (order) {
      //左开闸
      case "G1":
      //右开闸（镜像模式、反向开闸）
      case "G4":
        return "LEFT_OPEN";
      //右开闸
      case "G2":
      //左开闸（镜像模式、反向开闸）
      case "G3":
        return "RIGHT_OPEN";
      case "G5":
        //左常开开闸
        return "LEFT_NORMALLY_OPEN_OPEN_GATE";
      case "G6":
        //左常开关闸
        return "LEFT_NORMALLY_OPEN_CLOSE_GATE";
      case "G7":
        //右常开开闸
        return "RIGHT_NORMALLY_OPEN_OPEN_GATE";
      case "G8":
        //右常开关闸
        return "RIGHT_NORMALLY_OPEN_CLOSE_GATE";
      case "G9":
        //出向延时时间
        return "SET_L3";
      case "G10":
        //左边通行语音
        return "SET_L4";
      case "G11":
        //右边通行语音
        return "SET_L5";
      case "G12":
        //开关门速度设置
        return "SET_D4";
      case "G13":
        //断电开闸方向
        return "SET_L7";
      case "G14":
        //语音音量
        return "SET_L12";
      default:
        return null;
    }
  }

  /// 根据自定义指令获取真正的设备 order（设置指令）
  ///
  /// @param order 自定义指令
  /// @return 真正的设备 order
  static String? readOrderOf(String order) {
    switch (order) {
      case "G9":
        //出向延时时间
        return "READ_L3";
      case "G10":
        //左边通行语音
        return "READ_L4";
      case "G11":
        //右边通行语音
        return "READ_L5";
      case "G12":
        //开关门速度设置
        return "READ_D4";
      case "G13":
        //断电开闸方向
        return "READ_L7";
      case "G14":
        //语音音量
        return "READ_L12";
      default:
        return null;
    }
  }
}
